2 research outputs found
Compositional Reasoning for Explicit Resource Management in Channel-Based Concurrency
We define a pi-calculus variant with a costed semantics where channels are
treated as resources that must explicitly be allocated before they are used and
can be deallocated when no longer required. We use a substructural type system
tracking permission transfer to construct coinductive proof techniques for
comparing behaviour and resource usage efficiency of concurrent processes. We
establish full abstraction results between our coinductive definitions and a
contextual behavioural preorder describing a notion of process efficiency
w.r.t. its management of resources. We also justify these definitions and
respective proof techniques through numerous examples and a case study
comparing two concurrent implementations of an extensible buffer.Comment: 51 pages, 7 figure
Reasoning about explicit resource management
We investigate the behaviour and efficiency of concurrent processes with explicit resource management.
Our study is based on a π-calculus variant called Rπ [4] where the only resources available are channels,
which must be explicitly allocated before they can be used and can be deallocated when no longer
required. A substructural type system guarantees the safe allocation and deallocation of channels, as well
as safe channel reuse through strong updates. In this paper we use this type system to give compositional
proof techniques for reasoning about the behaviour and efficiency of RÏ€ processes.peer-reviewe